package com.xana.acg.fac.net;

import com.xana.acg.fac.model.biliAnime.AnimeResp;
import com.xana.acg.fac.model.biliAnime.FilterResp;
import com.xana.acg.fac.model.biliAnime.Hot;
import com.xana.acg.fac.model.biliLive.FaceItem;
import com.xana.acg.fac.model.biliLive.LivesResp;
import com.xana.acg.fac.model.biliLive.RecomResp;
import com.xana.acg.fac.model.biliLive.TagsResp;
import com.xana.acg.fac.model.biliLive.UriResp;

import java.util.List;

import retrofit2.Call;
import retrofit2.http.GET;
import retrofit2.http.Path;
import retrofit2.http.Query;

public interface BiliAPI {
    // Bilibili Live
    @GET("/live/recom/{page}")
    Call<RecomResp> getRecommend(@Path("page") int page);

    @GET("/live_url/{roomId}/150/android")
    Call<UriResp> getUrls(@Path("roomId") int roomId);

    @GET("/live/tags")
    Call<TagsResp> getTags();

    @GET("/live/tag/{parentId}/{areaId}/{page}")
    Call<LivesResp> getLives(@Path("parentId") String parentId, @Path("areaId") String areaId, @Path("page") int page);

    @GET("/live/tag/face")
    Call<List<FaceItem>> getFaces();



    @GET("/anime/hot")
    Call<List<Hot>> getBiliHot();

    @GET("/anime/acfunHot")
    Call<List<Hot>> getAcfunHot();


    @GET("/anime/filters")
    Call<FilterResp> getAnimeFilters();

    @GET("/anime/index")
    Call<AnimeResp> getAnimes(@Query("classify")String classify,
                              @Query(value = "area", encoded=true)String area,
                              @Query("finish")String finish,
                              @Query("month")String month,
                              @Query(value = "year", encoded = true)String year,
                              @Query("style")String style,
                              @Query("order")String order,
                              @Query("sort")String sort,
                              @Query("page")int page,
                              @Query("size")int size);


}
